Content display monitor

ABSTRACT

The invention can enable monitoring of the display of content by a computer system. Moreover, the invention can enable monitoring of the displayed content to produce monitoring information from which conclusions may be deduced regarding the observation of the displayed content by an observer. The invention can also enable monitoring of the display at a content display site of content that is provided by a content provider site over a network to the content display site. Additionally, the invention can enable the expeditious provision of updated and/or tailored content over a network from a content provider site to a content display site so that the content provider&#39;s current and appropriately tailored content is always displayed at the content display site. Aspects of the invention related to transfer of content over a network are generally applicable to any type of network. However, it is contemplated that the invention can be particularly useful with a computer network, including private computer networks (e.g., America Online™) and public computer networks (e.g., the Internet). In particular, the invention can be advantageously used with computer networks or portions of computer networks over which video and/or audio content are transferred from one network site to another network site for observation, such as the World Wide Web portion of the Internet.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to monitoring the display and observation ofcontent by a computer system. The invention also relates to monitoringthe display and observation at a content display site of content that isprovided by a content provider site over a network to the contentdisplay site. The invention further relates to the provision of updatedand/or tailored content from a content provider site to a contentdisplay site so that the content provider's current content is alwaysdisplayed at the content display site.

2. Related Art

A large amount of human activity consists of the dissemination ofinformation by information providers (content providers) to informationconsumers (observers). Recently, computer networks have become a verypopular mechanism for accomplishing information dissemination. The useof computer networks for information dissemination has necessitated orenabled new techniques to accomplish particular functions related to thedissemination of information.

For example, information providers of all types have an interest inknowing the extent and nature of observation of the information thatthey disseminate. Information providers that disseminate informationover computer networks also have this interest. However, the use ofnetworked computers for information dissemination can make it difficultto ascertain who is observing the disseminated information and how,since information can be accessed rapidly from a remote location by anyof a large number of possible observers whose identity is often notpredictable beforehand, and since control over the display of theinformation once disseminated may not be possible, practical ordesirable.

Among information providers, advertisers have particular interest inknowing how and to what extent their advertisements are displayed and/orobserved, since such knowledge can be a key element in evaluating theeffectiveness of their advertising and can also be the basis for paymentfor advertising. Mechanisms for obtaining such information have beendeveloped for advertisements disseminated in conventional media, e.g.,audiovisual media such as television and radio, and print media such asmagazines and newspapers. For example, the well-known Nielsen televisionratings enable advertisers to gauge the number of people that likelywatched advertisements during a particular television program. Asadvertising over a computer network becomes more common, the importanceof developing mechanisms for enabling advertisers to monitor the displayand observation of their advertisements disseminated over a computernetwork increases.

Previous efforts to monitor the display of advertising (or othercontent) disseminated over a computer network have been inadequate for avariety of reasons, including the limited scope of the monitoringinformation obtained, the ambiguous nature of the monitoringinformation, the incompleteness of the monitoring information, and thesusceptibility of the monitoring information to manipulation. Review ofsome of the techniques that have previously been used to acquiremonitoring information regarding the display of content (e.g.,advertising) disseminated over a particular computer network—the WorldWide Web portion of the Internet computer network—will illustrate thedeficiencies of existing techniques for monitoring the display ofcontent disseminated over a computer network.

FIGS. 1A and 1B are simplified diagrams of a network illustratingoperation of a previous system for monitoring requests for content overthe World Wide Web. In FIGS. 1A and 1B, a content provider site 101(which can be embodied by, for example, a server computer) cancommunicate with a content display site 102 (which can be embodied by,for example, a client computer) over the network communication line 103.The server computer at the content provider site 101 can store contentcolloquially referred to as a “Web page.” The client computer at thecontent display site 102 executes a software program, called a browser,that enables selection and display of a variety of Web pages stored atdifferent content provider sites. When an observer at the contentdisplay site 102 wishes to view a particular Web page, the observercauses the client computer at the content display site 102 to send arequest to the appropriate server computer, e.g., the server computer atthe content provider site 101, as shown in FIG. IA. The server computersat content provider sites all include a software program (in the currentimplementation of the World Wide Web, this is an http daemon) thatwatches for such incoming communications. Upon receipt of the request,the server computer at the content provider site 101 transfers a filerepresenting the Web page (which, in the current implementation of theWorld Wide Web, is an html file) to the client computer at the contentdisplay site 102, as shown in FIG. 1B. This file can itself referenceother files (that may be stored on the server computer at the contentprovider site 101 and/or on other server computers) that are alsotransferred to the content display site 102. The browser can use thetransferred file to generate a display of the Web page on the clientcomputer at the content display site 102. The http daemon, in additionto initiating the transfer of the appropriate file or files to thecontent display site 102, also makes a record of requests for files fromthe server computer on which the daemon resides. The record of suchrequests is stored on the server computer at the content provider site101 in a file 104 that is often referred to as a “log file.”

The exact structure and content of log files can vary somewhat fromserver computer to server computer. However, generally, log filesinclude a list of transactions that each represent a single filerequest. Each transaction includes multiple fields, each of which areused to store a predefined type of information about the file request.One of the fields can be used to store an identification of the filerequested. Additional fields can be used to store the IP (InternetProtocol) address of the client computer that requested the particularfile, the type of browser that requested the file, a time stamp for therequest (i.e., the date and time that the request was received by theserver computer), the amount of time required to transfer the requestedfile to the client computer, and the size of the file transferred. Otherinformation about file requests can also be stored in a log file.

Previous methods for monitoring the display of content distributed overthe World Wide Web have used the information stored in the log file. Forexample, one previous method has consisted of simply determining thenumber of transactions in the log file and counting each as a “hit” on aWeb page, i.e., a request for a Web page. The number of hits is deemedto approximate the number of times that the Web page has been viewedand, therefore, the degree of exposure of the content of the Web page toinformation consumers.

There are a number of problems with this approach however. For example,as indicated above, a request for a Web page may cause, in addition tothe request for an initial html file, requests for other files that arenecessary to generate the Web page. If these other files reside on thesame server computer as the initial html file, additional transactionsare recorded in the log file. Thus, a request for a single Web page cancause multiple transactions to be recorded in the log file. As can beappreciated, then, the number of times that a Web page is transferred toa content display site can be far less than the number of transactionsrecorded in the log file. Moreover, without further analysis, there isno way to accurately predict the relationship between the number oftransactions in the log file and the number of times that a Web page hasbeen transferred to the content display site. Such inaccuracy can bevery important to, for example, advertisers—whose cost of advertising isoften proportional to the measured exposure of the advertising—since themeasured exposure of their advertising (and, thus, its cost) may bebased upon the number of hits on a Web page containing theiradvertisement.

A method to overcome this problem has been used. By analyzing thecontents of the log file to determine which file was requested in eachtransaction, it may be possible to differentiate transactions in whichthe initial html file needed to generate a Web page is requested fromtransactions in which the requested file is one which is itselfrequested by another file, thus enabling “redundant” transactions to beidentified and eliminated from the hit count. While such an approach canincrease the accuracy of counting Web page hits, it still suffers fromseveral problems.

For example, log file analysis may result in some undercounting of Webpage hits, apart from any overcounting. This is because, oncetransferred to a client computer at a content display site, the filesnecessary to generate a Web page can be stored (“cached”) on that clientcomputer, thus enabling an observer at the content display site to viewthe Web page again without causing the client computer to make anotherrequest to the content provider server computer from which the Web pagewas initially retrieved. Consequently, the observer can view the Webpage without causing transactions to be added to the log file, resultingin undercounting of the number of Web page hits.

Additionally, log files are subject to manipulation, either directly orindirectly. For example, an unscrupulous content provider could directlymanipulate the log file by retrieving and editing the log file to addphony transactions, thus artificially increasing the number of Web pagehits and making the Web page appear to be more popular than it reallyis. This problem can be ameliorated by causing the log files to betransferred periodically at predetermined times (e.g., each night at12:00 midnight) from the server computer at the content provider site toa neutral network site; however, the log file can still be manipulatedduring the time between transfers.

A log file might be manipulated indirectly, for example, by programmingone or more computers to continually request a Web page, therebygenerating a large number of hits on that Web page. While the log filewould contain transactions corresponding to actual file requestsassociated with the Web page, these requests would be artificialrequests that would almost certainly not result in a display of the Webpage, and certainly not in the observation of the Web page. Moreover,checking the contents of the log file for an unusually high number ofrequests from a particular IP address (i.e., client computer) may notenable such manipulation to be detected, since a large number ofrequests may legitimately come from a client computer that serves manyusers (for example, the proprietary network America Online™ has ahandful of computers that are used by many users of that network to makeconnection to the Internet and World Wide Web).

It may be possible to identify the real origin of requests for contentusing “cookies.” A cookie enables assignment of a unique identifier toeach computer from which requests really emanate by transferring theidentifier to that computer with content transferred to that computer.Future requests for content carry this identifier with them. Theidentifier can be used, in particular, to aid in identification ofindirect log file manipulation, as described above and, more generally,to enable more robust log file analysis.

Notwithstanding such enhancement, cookies do not overcome a fundamentalproblem with the use and analysis of log files to ascertain informationregarding the display of content provided over the World Wide Web. Thatis, as highlighted by the over-counting problem associated with theabove-described artifice and the undercounting problem associated withcaching of content at the content display site, log files only storeinformation about file requests. A log file does not even indicatewhether the requested file was actually transferred to the requestingclient computer (though, typically, such file transfer would occur). Nordoes a log file include any information about how the file was used oncetransferred to the requesting client computer. In particular, log filesdo not provide any information regarding whether the content representedby the requested file is actually displayed by the client computer atthe content display site, much less information from which conclusionscan be deduced regarding whether—and if so, how—the content was observedby an observer. These limitations associated with the content of a logfile cannot be overcome by a monitoring approach based on log fileanalysis. Moreover, log file analysis is calculation intensive,requiring hours in some instances to extract the desired informationfrom the log file.

Another method of monitoring the display of content disseminated overthe World Wide Web uses an approach similar to that of the Nielsenratings system used in monitoring television viewing. In this method,monitoring software is added to the browser implemented on the clientcomputers of a selected number of defined observers (e.g., families) toenable acquisition of data regarding advertising exposure on thosecomputers. This information is then used to project patterns over thegeneral population.

However, this approach also has several disadvantages. First, only alimited amount of data is collected i.e., data is only obtainedregarding a small number of information consumers. As with any pollingmethod, there is no guarantee that the data acquired can be extrapolatedto the general population, even if the observers selected for monitoringare chosen carefully and according to accepted sampling practices.Second, as the size of the world Wide Web (or other computer network forwhich this method is used) grows, i.e., as the number of contentprovider sites increases, the number of monitored observers necessary toensure accurate representation of the usage of all content providersites must increase, since otherwise there may be few or no observerinteractions with some content provider sites upon which to baseprojections. It may not be possible to find an adequate number ofappropriate observers to participate in the monitoring process,particularly given concerns with the attendant intrusion into theprivacy of the selected observers. Third, installation of the monitoringsoftware on a client computer to be compatible with a browser presents anumber of problems. Such installation requires active participation byobservers; since observers typically do not reap benefit from operationof the monitoring software, they may be reluctant to expend the effortto effect installation. The monitoring software must continually berevised to be compatible with new browsers and new versions of oldbrowsers. To enable monitoring of a large number of client computers,the software must be tested for compatibility with a wide variety ofcomputing environments. And, as currently implemented, such monitoringsoftware is also dependent upon the computing platform used, making itnecessary to revise the monitoring software for use with new computingplatforms or risk skewing the demographics of the sample users.

In addition to desiring information regarding the display andobservation of the content that they provide, content providers alsooften desire to provide content to a content display site that isparticularly tailored for observation (e.g., according to variousdemographic characteristics of an expected observer) at that contentdisplay site. For example, text content should be expressed in alanguage that the observer can understand. If appropriate for thecontent, it is desirable to tailor the content according to, forexample, the age, sex or occupation of the observer.

Such tailoring of content has previously been enabled by modifying thehttp daemon on a computer at the content provider site to cause aparticular version of a set of content to be transferred to a requestingcontent display site based upon the IP address of that content displaysite. While such tailoring of content is useful, it is desirable to beable to tailor the presentation of content in additional ways notenabled by this approach.

Content providers also often desire to provide their content with thecontent of other content providers. For example, it is a common practicefor content providers (referred to here as “primary content providers”)on the World Wide Web to include advertisements from other entities(referred to here as “secondary content providers”) as part of thecontent provider's Web page. In such situations, it is desirable for thesecondary content provider to be able to easily update and/orappropriately tailor (e.g., according to characteristics of therequester) the content that they supply to the primary content provider.This could be accomplished by causing the primary content provider siteto contact the secondary content provider site—each time that theprimary content provider receives a request for content that includesthe secondary content—to retrieve the secondary content (thus ensuringthat updated, appropriately tailored secondary content is used) or checkwhether updated or tailored secondary content is available (if so, thecontent is retrieved). (This method could also be modified so thatcontent retrieval or a check for updated and/or tailored content is onlyperformed according to a predetermined schedule.) However, both theprimary content provider and the secondary content provider may not wanttheir systems burdened with the extra computational capacity required tohandle the multitude of requests that would be needed to effect thisoperation. Alternatively, the primary content provider could collect andstore the updated and tailored content from the secondary contentproviders at the primary content provider site. However, the burdenassociated with collecting and managing the content from secondarycontent providers may be more than the primary content provider wants toshoulder.

One way that this functionality can be achieved without creating anundesirable burden on the primary or secondary content providing systemsis by providing a secondary content storage site that can continuallystore the most recent content provided by a secondary content provider,as well as different sets of content tailored for particular situations(e.g., display by particular observers or at particular times). FIGS. 2Athrough 2D are simplified diagrams of a network illustrating theoperation of such a system. In FIG. 2A, a content display site 202 makesa request over the network communication line 203 to the primary contentprovider site 201 for content that includes the secondary content. InFIG. 2B, the primary content provider site 201 transfers the file orfiles stored at the primary content provider site 201 that are necessaryto generate a display of the primary content. These files includeappropriate reference to a file or files stored at a secondary contentstorage site 204 that includes the most updated and/or appropriatelytailored secondary content for display with the primary content. Asshown in FIG. 2C, this reference causes the content display site 202 torequest the secondary content from the secondary content storage site204. In FIG. 2D, the secondary content is transferred from the secondarycontent storage site 204 to the content display site 202 for display atthe content display site 202.

However, while this system can relieve the primary content provider ofthe burden of managing the acquisition, storage and provision ofsecondary content (a burden that can become rather onerous when manysecondary content providers are providing content to the primary contentprovider), the system has a characteristic that can make it undesirablefor many content providers. The secondary content storage site not onlymanages the secondary content, it also provides the secondary contentwhen requests for primary content are made to the primary contentprovider. Moreover, the secondary content is frequently content, such asgraphics files used to generate visual images (which frequently dominateadvertisements), that has a high bandwidth requirement for transmissionover the network. By taking control of the transmission of secondarycontent to the content display site, the secondary content storage siteis also frequently taking control of the most bandwidth sensitive partsof the content provided by the primary content providers. The operatorof the secondary content storage site may not provide a system thataddresses the bandwidth requirements to the satisfaction of the primarycontent provider, so that the presentation of the combined primary andsecondary content occurs more slowly than desired by the primary contentprovider. Thus, this approach causes the primary content provider tolose control of a critical aspect of their operation.

SUMMARY OF THE INVENTION

The invention can enable monitoring of the display of content by acomputer system. Moreover, the invention can enable monitoring of thecontent display to produce monitoring information from which conclusionsmay be deduced regarding the observation of the content display by anobserver. The invention can also enable monitoring of the display at acontent display site of content that is provided by a content providersite over a network to the content display site. Additionally, theinvention can enable the expeditious provision of updated and/ortailored content over a network from a content provider site to acontent display site so that the content provider's current andappropriately tailored content is always displayed at the contentdisplay site.

Aspects of the invention related to transfer of content over a networkare generally applicable to any type of network. However, it iscontemplated that the invention can be particularly useful with acomputer network, including private computer networks (e.g., AmericaOnline™) and public computer networks (e.g., the Internet). Inparticular, the invention can be advantageously used with computernetworks or portions of computer networks over which video and/or audiocontent are transferred from one network site to another network sitefor observation, such as the World Wide Web portion of the Internet.Additionally, the invention is particularly useful in monitoring thedisplay of content obtained over such a network using an interactivebrowser to acquire and view the content in real time.

In one aspect of the invention, the display of content by a computersystem can be monitored by monitoring the position of the contentdisplay on a display screen of the computer system and evaluating theposition of the content display on the display screen to producemonitoring information regarding display of the content. Monitoring ofcontent display according to this aspect of the invention can be furtherenabled by monitoring the position of one or more other images on thedisplay screen and comparing the position of the content display to theposition of the other images to produce the monitoring information. Inparticular, this aspect of the invention can enable a determination asto whether (and for how long) the content display is hidden by one ofthe other images, and, further, whether the content display is fullyhidden or partially hidden (and for how long the content display isfully and partially hidden, respectively). This information can beuseful to, for example, indicate the amount of time that the contentdisplay was visible to an observer for observation, or to aid thecontent provider in determining in which regions of a display screen hiscontent is most likely to be unobstructed. This aspect of the inventioncan also enable determination of the number of times that an on-screenpointer (e.g., a mouse arrow or a cursor) entered an area defined by thecontent display. This information may be useful in determining howattentive the observer was to the content, since an observer frequentlywatches the position of the on-screen pointer when viewing the displayscreen.

In another aspect of the invention, the display of content by a computersystem can be monitored by monitoring the change in time of acharacteristic of the content display and evaluating the change in timeof the characteristic of the content display to produce monitoringinformation regarding display of the content. Monitoring of contentdisplay according to this aspect of the invention can be further enabledby monitoring the change in time of a characteristic of the computersystem and comparing the change in time of the characteristic of thecontent display to the change in time of the characteristic of thecomputer system to produce the monitoring information. This aspect ofthe invention can also enable, as discussed above, determination as towhether (and for how long) the content display is fully or partiallyhidden by another displayed image, as well as the number of times thatan on-screen pointer entered an area defined by the content display.

In still another aspect of the invention, in a computer system in whichthe content is displayed in response to an instruction that is providedfrom a source external to the computer system and the system formonitoring (e.g., an instruction provided by a user of the computersystem), the beginning and end of a display of the content can beascertained so that monitoring of the display of content by the computersystem can begin at the beginning of the content display and end at theend of the content display. The monitoring can occur in accordance withother aspects of the invention described herein. The monitoring can alsodetermine the duration of the display of the content. Since theoccurrence of monitoring according to this aspect of the invention iscoincident with the display of the content to be monitored, themonitoring expends processing capability of the computer system onlywhen necessary, while simultaneously assuring that monitoring occurs atall times that the content is displayed.

In yet another aspect of the invention, where content is provided by acontent provider site over a network to a content display site fordisplay at the content display site, a mechanism for monitoring thedisplay of the content can be transferred from the content provider siteto the content display site in response to (e.g., together with) thetransfer of content from the content provider site. The monitoring canoccur in accordance with other aspects of the invention describedherein. Monitoring information obtained regarding the display of thecontent at the content display site can be transferred to a remote sitethat is part of the network. The remote site can, but need notnecessarily be, the content provider site from which the content wastransferred to the content display site. Where the remote site is suchcontent provider site, the monitoring information can then, in turn, betransferred from the content provider site to a second remote site.Further, where the remote site is such content provider site, themonitoring information can be transferred from the content display siteto the content provider site via a communication means that is differentfrom the communication means used to transfer the content from thecontent provider site to the content display site, a feature that can beuseful, for example, when the network is the World Wide Web. This aspectof the invention provides a heretofore unavailable monitoring capabilityfor obtaining information about how content is displayed on a networksuch as the World Wide Web. In particular, it has not previously beenpossible to monitor content transferred from a content provider site onthe World Wide Web once the content has been transferred to a contentdisplay site.

In a still further aspect of the invention, in a network which operatesaccording to a protocol that enables new content to be transferred to acontent display site in response to selection of a portion of thecontent currently being displayed at the content display site, amechanism for monitoring the display of content can be transferred froma content provider site to a content display site so that the mechanismfor monitoring operates at the content provider site. The monitoring canoccur in accordance with other aspects of the invention describedherein. Monitoring information obtained regarding the display of thecontent at the content display site can be transferred to a remote sitethat is part of the network. This aspect of the invention isparticularly advantageous when at least some of the content beingmonitored comprises a graphical display. As discussed above with respectto the immediately preceding aspect of the invention, this aspect of theinvention provides a heretofore unavailable monitoring capability forobtaining information about how content is displayed when retrieved overa network in an interactive browsing environment, such as occurs on theWorld Wide Web.

In yet a further aspect of the invention, the display of content that isprovided by a content provider site over a network to the contentdisplay site is monitored to produce monitoring information, then themonitoring information is transferred to a remote site of the computernetwork that is different from the content provider site. According tothis aspect, the monitoring information can first be transferred to thecontent providing site before eventual transfer to the remote site, solong as the monitoring information cannot be stored at the contentprovider site, or accessed or manipulated at the content provider sitebefore transfer to the remote site. Access to the monitoring informationat the remote site can be allowed to enable interaction with, but notmodification of, the monitoring information. This aspect of theinvention provides a system configuration that can overcome the problemof possible tampering with the substance of the monitoring informationby the content provider. Further, this aspect of the invention can beimplemented so that the content and the monitoring instructions arestored at the remote site and transferred to the content display sitewhen requested by an observer at the content display site, thusrelieving the content provider of storing and managing the content andmonitoring instructions at the content provider site and therebysimplifying use of the invention for the content provider.

In another aspect of the invention, current and/or tailored content canbe provided to a content display site from a content provider site. Thecontent can include both primary content (from the content providersite) and secondary content (provided by third parties). The primary andsecondary content can be provided from a secondary content provider siteto an application manager site. When the application manager sitereceives new content (in particular, updated and/or tailored content)from any content provider site, that content is transferred to contentprovider sites that use that content. Updated and/or tailored content istherefore available for transfer to a content display site immediatelyupon receipt of a request for the content from the content display site.This aspect of the invention relieves the primary content provider ofthe need to manage the storage of content, while reserving control overthe provision of that content to the primary content provider, therebyenabling the content provider to ensure that the bandwidth requirementof the content provided from the content provider site are met.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are simplified diagrams of a network illustratingoperation of a previous system for monitoring requests for content overthe World Wide Web.

FIGS. 2A, 2B, 2C and 2D are simplified diagrams of a networkillustrating operation of a previous system for enabling retrieval ofupdated and/or tailored secondary content for use in primary contentprovided over the network.

FIGS. 3A, 3B and 3C are simplified diagrams of a network illustratingoperation of one embodiment of the invention.

FIGS. 4A, 4B and 4C are simplified views of a display screen including acontent display and other images, illustrating an unobstructed, fullyhidden, and partially hidden content display, respectively.

FIG. 4D is a simplified view of a display screen including a contentdisplay and other images, illustrating a content display that is onlypartially hidden, but that would be determined to be fully hiddenaccording to a method of the invention. FIG. 4E is a simplified view ofthe display screen shown in FIG. 4D, illustrating how another method ofthe invention can correctly determine the content display to bepartially hidden.

FIG. 4F is a simplified view of a display screen including a contentdisplay and other images, illustrating a display that is partiallyhidden, but that may be determined to be unobstructed according to amethod of the invention.

FIGS. 5A, 5B and 5C are simplified diagrams of a network illustratingoperation of another embodiment of the invention.

FIGS. 6A, 6B, 6C and 6D are simplified diagrams of a networkillustrating operation of still another embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The invention includes several aspects related to the display of contentto an observer. For example, the invention can enable monitoring of thedisplay of content by a computer system. In particular, the inventioncan enable monitoring of the displayed content in a manner that providesmonitoring information from which aspects of the user's observation ofthe content can be gleaned. The invention can also enable monitoring ofthe display and—using the aforementioned capability—the observation at acontent display site of content that is provided by a content providersite over a network to the content display site. Additionally, theinvention can enable the expeditious provision of updated and/ortailored content over a network from a content provider site to acontent display site so that the content provider's current andappropriately tailored content is always displayed at the contentdisplay site.

Herein, “content” refers generally to any sensory images (or data usedto produce those sensory images) displayed by a device with which theinvention is used. “Observation” refers to the perception of content byan observer. Typically, the content will be visual or aural imagesproduced by the device; observation of such content thus consists ofviewing or listening, as appropriate, to the produced images.

Certain aspects of the invention relate to the monitoring of contentobtained from, or provision of content over, a network. “Contentprovider site” refers to a device that is part of the network and thatcan provide content to another device that is part of the network.“Content display site” refers to a device that is part of the networkand that can receive and display content from another device that ispart of the network. It is contemplated that the invention can beparticularly useful with a computer network that operates in this way.“Computer network” includes any collection of interconnected computersystems. “Computer system” refers to a device or collection of deviceswhich depend upon a computational device (e.g., a general or specialpurpose processor) for at least some aspects of their operation. Inparticular, as used herein, a “computer system” can include any type ofdisplay device, including a conventional computer display monitor, atelevision, or one or more audio speakers.

FIGS. 3A, 3B and 3C are simplified diagrams of a network illustratingoperation of one aspect of the invention. A content display site 302(which can be embodied by a conventional client computer) is linked viaa network communication line (or lines) 303 to a content provider site301 (which can be embodied by a conventional server computer).(Typically, the network links multiple content display sites withmultiple content provider sites; a single content display site 302 and asingle content provider site 301 are shown in FIGS. 3A, 3B and 3C forsimplicity. Additionally, it is to be understood that each site on thenetwork can function as both a content display site and a contentprovider site.) As shown in FIG. 3A, the client computer at the contentdisplay site 302 requests content from the server computer at thecontent provider site 301 over the network communication line 303. Asshown in FIG. 3B, the server computer at the content provider site 301provides content to the client computer at the content display site 302over the network communication line 303. According to this aspect of theinvention, in response to the request for content from the contentprovider site 301, a set of monitoring instructions (which can beembodied, for example, in a computer program) are also transferred tothe content display site 302. The transfer of the monitoringinstructions can occur before, with or after the transfer of thecontent. As explained in more detail below, the monitoring instructionscause the client computer at the content display site 302 to monitor thedisplay of the content to produce monitoring information regarding themanner in which the content is displayed. As shown in FIG. 3C, themonitoring information is transferred from the content display site 302to the content provider site 301 over the network communication line303. (The monitoring information could, alternatively or additionally,be transferred to another site that is part of the network.) Review ofthe monitoring information produced by the monitoring instructions canenable conclusions regarding the user's observation of the content to bededuced, as explained in more detail below. (It should be noted that,more generally, monitoring instructions according to the invention canbe used to monitor the display of content on a computer system whetheror not the computer system is part of a network and receives content andmonitoring instructions over the network.)

The invention can be used with both public computer networks (e.g., theInternet) and private computer networks (e.g., commercial onlineservices such as America Online™, Prodigy™ and CompuServe™, as well asintranets). In particular, the invention can be advantageously used withcomputer networks or portions of computer networks over which videoand/or audio content are transferred from one network site to anothernetwork site for display. Further, the invention can advantageously beused with a network in which the network sites can be accessed in realtime with a browser. (“Browser” can refer to a computer program whichcan interpret hypertext files and display the content corresponding tothose files, as well as enable transfer from one hypertext file toanother via a hyperlink within the hypertext file being transferredfrom.) The World Wide Web portion of the Internet is a well-knowncurrent example of such a network with which the invention can be used.Below, some aspects of the invention are described, for purposes ofillustration, as implemented in a manner that is compatible with theWorld Wide Web, i.e., in accordance with the hypertext markup language(html) and the hypertext transfer protocol (http). However, none of theaspects of the invention are limited to such implementation.

When the invention is used with a computer network or to monitor displayof content by a computer system, aspects of the invention can beimplemented as one or more computer programs that can be executed by acomputer to achieve the functionality of that aspect. Generally, suchcomputer programs can be implemented using any appropriate computerprogramming language. However, when an aspect of the invention is usedwith a computer network that includes computers of many different types(such as the Internet), the computer programming language is preferablyone that can be executed by any type of computer (i.e., the computerprogramming language is platform independent). The Java programminglanguage, developed by Sun Microsystems, Inc. of Mountain View, Calif.,is one such computer programming language. Below, some aspects of theinvention are described, for purposes of illustration, as implemented inthe Java programming language. Again, however, none of the aspects ofthe invention are limited to such implementation.

In one embodiment of the invention, the monitoring instructions aretransferred to the content display site 302 together with the content.In a particular embodiment, the monitoring instructions are part of acomputer program that also includes instructions for displaying thecontent. Illustratively, such a computer program can be an appletwritten in the Java programming language. As will be appreciated bythose skilled in the use of html, Example 1 below illustrates a set ofinstructions in accordance with the html syntax that can be used tocause execution of an applet that both displays content and monitors thedisplay.

Example 1

<applet code=″Adinsert.class″ width=230 height=33> <param name=″image″value=”images/southwest.gif”> <param name=″href″value=″http://www.swa.com/”> </applet>

The instructions shown in Example 1 are executed by a conventionalbrowser implemented on a computer at a content display site when anobserver at the content display site makes a request for (e.g., selectsa hyperlink) the content represented by the file “southwest.gif.” Therequest is received by an http daemon at the appropriate contentprovider site. The instructions identify the location (“image”) at thecontent provider site of an applet (a small application program) called“AdInsert” that includes further instructions which, when executed,perform a monitoring method according to the invention, as well as causethe content to be displayed. (The steps that can be implemented in sucha monitoring method are discussed further below.) Upon receipt of therequest by the http daemon at the content provider site, the AdInsertapplet is transferred to the requesting content display site and beginsexecuting. The instructions in Example 1 also establish the size of thearea (width and height) in which the content is displayed on a computerdisplay screen, as well as indicate a network site (“href”) to whichconnection can be made by selecting a hyperlink within the content.Thus, illustratively, in accordance with the invention, content from acontent provider site that can be accessed by a browser (such as anetwork site that is part of the World Wide Web) can be transferred toand displayed at a content display site by transferring an applet to thecontent display site that can be executed by the browser to both displaythe content and cause aspects of the display of the content to bemonitored. (Note that the content being monitored can comprise all ofthe content being displayed, or only a part of the content beingdisplayed, e.g., an advertisement present in a Web page.)

In contrast, previously, only content has been transferred to contentdisplay sites, using an html syntax as shown in Example 2 below for thecontent that is displayed by the html syntax shown in Example 1 above.

Example 2

<a href=“http://www.swa.com/”> <img border=O src=“/images/southwest.gif”height=33 width=230> </a>

Thus, previously, it has not been possible to monitor contenttransferred from a content provider site on the World Wide Web once thecontent has been transferred to the content display site. As can beappreciated, then, this aspect of the invention provides a powerfultool, not previously available, for obtaining information about howcontent is displayed on a computer network such as the World Wide Web.

Implementation of a monitoring method as described immediately abovemeans that the operation of the monitoring method is coincident with thedisplay of the content to be monitored. Since the monitoring method doesnot operate when the content is not being displayed, the monitoringmethod expends processing capability of the computer system at thecontent display site only when necessary. At the same time, operation ofthe monitoring method at all times when the content is displayed isassured.

Further, since the monitoring method can be implemented as part of abroader method according to the invention that also causes the contentto be displayed, the problems previously noted with monitoring thedisplay of content that is cached at the content display site areovercome. This is because, unlike the previous use of log files—whichrequire that a request be made to a content provider site in order thatany information be recorded—a monitoring method according to theinvention can record monitoring information any time that the content isdisplayed, without regard to the manner in which the display isrequested. In particular, the invention can enable the number of timesthat a particular set of content is displayed to be precisely counted.This is a huge improvement over previous methods as described above,which not only do not count the number of times that the content isdisplayed (they count requests), but may not even count the number ofrequests accurately.

The instructions that implement a monitoring method according to theinvention can be used to obtain a large variety of monitoringinformation. For example, the contents of conventional log files(discussed above) can be ascertained by a monitoring method of theinvention. An important aspect of the invention, however, is thatmonitoring information beyond that available in a conventional log filecan also be obtained by a monitoring method according to the invention.Instructions for obtaining several types of such monitoring informationare described below. However, it is to be understood that thedescriptions below are merely illustrative of the types of monitoringinformation that can be obtained; the obtaining of other types ofmonitoring information is also contemplated by the invention.

For example, a monitoring method according to the invention can detecteach time that the content is displayed. In fact, in one embodiment of amonitoring method according to the invention, the monitoring method doesno more than this. A monitoring method that detects the display of thecontent can be implemented by an applet as described above. The“monitoring instructions” of such an applet may be no more than aninstruction that causes an indication that the applet has executed to bestored or transferred to an appropriate network site (discussed furtherbelow). A monitoring method that can ascertain whether the content wasdisplayed or not can be a very useful monitoring method that providesimportant basic information not previously available in an interactivebrowsing environment for acquiring and viewing content. In particular,undercounting (due to, for example, caching of content at the contentdisplay site) and overcounting (due to, for example, submission ofartificial requests for content that do not result in the display ofcontent) of the number of times that the content is displayed areavoided.

A monitoring method according to the invention can also determine theduration of the content display. For example, the duration of thecontent display can be determined as the amount of time that thecomputer program for displaying the content executed, as indicated bytime stamps—ascertainable, for example, using a method that exists aspart of the Java language—associated with a predefined beginning and endof execution of the program.

In one embodiment of the invention, a monitoring method monitors theposition of the content on a display screen while the content is beingdisplayed. The position is evaluated to produce monitoring informationregarding the display of the content. Such evaluation can beaccomplished, for example, by further obtaining information regardingthe position of one or more other images on the display screen, andcomparing the position of the content to the position of the one or moreother images.

For example, in accordance with the above embodiment, the monitoringmethod can determine whether the content is not visible on the displayscreen, either because the content is occluded by the one or more otherimages, or because the content has been “scrolled” off of the displayscreen (hereafter, these two situations will be referred to together bysaying that the content is “hidden”). Further, the monitoring method candetermine whether the content is partially hidden, i.e., eitherpartially occluded by the one or more other images, or partiallyscrolled off of the display screen. Moreover, the duration of time ofeach period during which the content is fully or partially hidden can bedetermined as such periods occur. The duration of time of unobstructeddisplays of the content can be determined as times when the view of thecontent is not either fully or partially hidden. Each of the durationscan be reported directly and/or the total duration that the content isfully hidden, partially hidden, fully or partially hidden and/orunobstructed, respectively, can be reported.

Information regarding whether or not the displayed content is hidden canbe useful for a variety of reasons. For example, such informationindicates the amount of time that the displayed content was visible tothe observer for observation. Additionally, this information can be usedby the content provider to determine in which regions of a displayscreen his content is most likely to be unobstructed.

Whether the displayed content is hidden can be determined in any mannerthat is possible using the tools (e.g., supported programming language,operating system characteristics) associated with the computer networkwith which the invention is being used. One way of determining whetherthe displayed content is hidden using the above-described applet is toperiodically declare that the content display (or a portion thereof) isinvalid, i.e., the operating system is asked to redraw the contentdisplay, if necessary. If the operating system then makes a request tothe applet to redraw the content display, then the content display isnot hidden. However, if the operating system does not make a request tothe applet to redraw the content display, then the content display ishidden.

The most complete information regarding whether the content display ishidden can be obtained by invalidating each discrete element of thecontent display (e.g., pixel) and determining whether the discreteelement is hidden, in the manner described above. However, such anapproach is computationally expensive and is generally not necessary toobtain useful and sufficiently accurate information regarding whetherthe content display is hidden. Preferably, then, only a portion of thecontent display, strategically selected, is evaluated in this manner.

For example, in one embodiment of the invention, each of the corners ofthe content display are invalidated and monitored for redrawing asdescribed above. If all of the corners are redrawn, then the contentdisplay is determined to be unobstructed. If none of the corners areredrawn, then the content, display is determined to be fully hidden. Ifat least one, but not all, of the corners are redrawn, then the displayis determined to be partially hidden.

FIGS. 4A, 4B and 4C are simplified views of a display screen 400including a content display 401 and other images 402, 403 and 404,illustrating an unobstructed, fully hidden, and partially hidden contentdisplay, respectively. In FIG. 4A, none of the corners 401 a, 401 b, 401c or 401 d are covered by one of the other images 402, 403 and 404.Thus, after the corners 401 a, 401 b, 401 c and 401 d are invalidated,each is redrawn, and the content display 401 is (correctly, in thiscase) determined to be unobstructed. In FIG. 4B, each of the corners 401a, 401 b, 401 c and 401 d is covered by the image 402. Thus, none of thecorners 401 a, 401 b, 401 c and 401 d are redrawn after beinginvalidated, and the content display 401 is (again, correctly)determined to be fully hidden. In FIG. 4C, the corners 401 c and 401 dare covered by the image 402, but the corners 401 a and 401 b are not.Thus, only the corners 401 a and 401 b are redrawn after invalidation ofthe corners 401 a, 401 b, 401 c and 401 d, and the content display 401is (once again, correctly) determined to be partially hidden.

The above approach may not be accurate in all cases. FIG. 4D is asimplified view of the display screen 400 including the content display400 and other images 402, 403 and 404, illustrating a partially hiddencontent display 401 that would be determined to be fully hiddenaccording to the method of the invention detailed above. In FIG. 4D, theimage 402 covers the corners 401 c and 401 d, the image 403 covers thecorner 401 a, and the image 404 covers the corner 401 b. Thus, sincenone of the four corners 401 a, 401 b, 401 c and 401 d is redrawn afterbeing invalidated, the content display 401 is determined to be fullyhidden; however, as can be seen in FIG. 4D, this is not the case.

This problem can be alleviated by evaluating other discrete elements ofthe content display in addition to the corners. For example, discreteelements at the center of the upper and lower edges and/or the right andleft edges of the content display could be evaluated in addition to thecorner pixels. FIG. 4E is a simplified view of the display screen 400 asshown in FIG. 4D, illustrating how another method of the invention cancorrectly determine the content display 401 to be partially hidden. InFIG. 4E, the upper edge center 401 e and the lower edge center 401 f ofthe content display 401 are also evaluated. The lower edge center 401 fis covered by the image 402, while the upper edge center 401 e is not.Thus, after invalidation of the corners 401 a, 401 b, 401 c and 401 dand the centers 401 e and 401 f, the upper edge center 401 e is redrawn,and the content display 401 is (correctly) determined to be partiallyhidden.

FIG. 4F is a simplified view of the display screen 400, including thecontent display 401 and other images 402, 403 and 404, illustrating apartially hidden content display 401 that may be determined to beunobstructed according to a method of the invention. In FIG. 4F, none ofthe corners 401 a, 401 b, 401 c and 401 d, or the centers 401 e and 401f are covered by the images 402, 403 and 404. Thus, after invalidationof the corners 401 a, 401 b, 401 c and 401 d, and the centers 401 e and401 f, each is redrawn, and the content display 401 is determined to beunobstructed. However, as can be seen in FIG. 4F, this is not the case,since the image 403 is positioned in the middle of the content display401.

As illustrated in FIGS. 4D through 4F, while the evaluation ofadditional discrete elements of a content display does not eliminate thepossibility of an inaccurate determination regarding whether the contentdisplay is hidden, it does reduce the likelihood of such occurrence.Generally, any number and configuration of discrete elements of acontent display can be evaluated to reduce the possibility of anincorrect determination regarding whether the content display is hidden,so long as the associated computational cost does not becomeunacceptably high. Further, the above-described method for determiningwhether a content display is hidden is only one way in which suchdetermination can be made.

As part of determining whether the content display is hidden, a timestamp is recorded each time there is a change in the “hidden state” ofthe content display. From these time stamps, the duration of each periodof time that the content display is unobstructed, partially hidden andfully hidden can be determined. From the duration of each period, totaldurations of time that the content display is unobstructed, partiallyhidden and fully hidden can also be determined.

It may also be possible, by appropriately configuring the discreteelements of the content display that are evaluated, to determine(though, typically, approximately), when the content display ispartially hidden, the amount of the content display that is visible. Itcan be possible, too, when the content display is partially hidden, togive a qualitative description of the portion of the content displaythat is hidden (or visible), e.g., upper right corner, lower leftcorner.

When the monitoring method operates on a computer system having anevent-driven operating environment, the monitoring method can monitorevents as transmitted by the operating system to ascertain informationregarding the content display. When the monitoring method is implementedas an applet that also displays the content, such monitoring can occurnaturally, since only events concerning the content display aretransmitted to the monitoring method. For example, the applet can use apre-existing Java method (e.g., the method named HandleEvent in acurrent version of Java) to monitor events as transmitted by theoperating system. Such event monitoring can be used to, for example,determine the number of times that an on-screen pointer (e.g., a mousearrow or a cursor) entered an area defined by the content display. (Thedefined area can be related to the content display in any manner and canbe, for example, the area in which the content is displayed, or an areasomewhat smaller or larger than the area of the content display.) Theoperating system of the computer system displaying the content displaytypically monitors the position of the on-screen pointer and canidentify in which region on the display screen the pointer is located.Thus, an applet configured to display content, as described above, candiscern whether the pointer is located within the content display bymonitoring an event that indicates that the pointer has entered the areadefined by the content display. The monitoring method of the inventioncan use this information provided by the operating system to count thenumber of times that the on-screen pointer enters the area defined bythe content display. The monitoring method can also determine when theon-screen pointer leaves the defined area after each entry, bymonitoring another event that indicates that the pointer has exited thearea defined by the content display. The time stamps associated with theentry into and exit from the defined area can be used to calculate theduration of time that the pointer was in the defined area for each entryinto the defined area, as well as the total duration of time that thepointer was within the defined area. The monitoring method can alsodetermine when the on-screen pointer is moving within the defined area,again by monitoring an event that indicates such pointer movement. Theabove-described information regarding the on-screen pointer position andmovement relative to the content display may be useful in determininghow attentive the observer was to the content, since an observerfrequently watches the position of the on-screen pointer when viewingthe display screen.

In another embodiment of the invention, the monitoring method monitorsthe change in time of a characteristic of the content display. Thechange in time of this characteristic is evaluated to produce monitoringinformation. The evaluation can be accomplished, for example, by furthermonitoring the change in time of a characteristic of the computer systemused to display the content, and comparing the change in time of thecharacteristic of the content display to the change in time of thecharacteristic of the computer system. Either of the two examples givenimmediately above (hiding of the content display and entry of a pointerinto a defined area) are also examples of a monitoring method inaccordance with this embodiment of the invention.

A monitoring method according to the invention can obtain a variety ofother information, as well. Par example, the monitoring method canobtain a time stamp (date and time of day) that indicates when thedisplay of the content began. When the monitoring method is implementedby an applet written in Java, the time stamp can be obtained using amethod that exists as part of the Java language.

Identifying information regarding the computer on which the content isdisplayed can also be obtained. The Internet Protocol (IP) address fromwhich the request for the content was made, as well as an identificationof the machine to which the content was transferred can be obtained.(There may not be a one-to-one correspondence between these two if, forexample, the latter is a client computer of a system for which theformer is a server computer.) Again, both the IP address and machinename can be obtained using a pre-existing Java method.

A monitoring method according to the invention can also determine if theuser of the computer at the content display site selected (e.g., clickedwith a mouse or pressed an appropriate keyboard key) a hyperlink withinthe area of the content display to end display of the current contentdisplay. Similar to the monitoring of the pointer location describedabove, an applet that implements a monitoring method of the inventioncan include a standard Java method (e.g., HandleEvent) that acceptsevents transmitted by the operating system. One of the events is theselection of a hyperlink. When such an event is reported, the monitoringmethod can so note.

As previously indicated, the above-described examples of monitoringinformation are merely illustrative of the types of monitoringinformation that can be obtained by a monitoring method according to theinvention. Generally, a monitoring method according to the invention canmake use of any method available in the computing environment, e.g., anoperating system method, or a method that is part of a softwareframework, or that can be written in a computer programming languagethat can be used in the computing environment. For example, when themonitoring method is implemented by an applet written in Java, anyexisting Java method can be used to obtain information relevant to thedisplay of the content to be monitored, either by using the method tochange the state of the computer (e.g., the state of the display) onwhich the content is being displayed and monitoring the response of thecomputer (e.g., the method for monitoring whether content display ishidden, discussed above) or by retrieving information about the state ofthe computer (e.g., the method for monitoring entry of the pointer intothe content display, discussed above). In particular, the monitoring ofevents as discussed above can be useful in discerning information aboutthe content display.

A monitoring method according to the invention can also be used toascertain information about an audio display. For example, if thecontent being monitored includes audio content that can only bedisplayed by selecting an appropriate user interface mechanism (e.g., agraphical pushbutton), a monitoring method according to the inventioncan determine whether that “event” is transmitted to the windowrepresented by the content, indicating that the audio display was atleast begun. Using a method as described above for determining theduration of a content display, together with knowledge of the when theaudio display was begun (using a time stamp as described above), theduration of the audio display can also be determined. It may also bepossible to determine the volume at which the audio content isdisplayed, by appropriately monitoring the methods used to operate theaudio display devices. These examples are merely illustrative. As can beappreciated, using any other method available in the computingenvironment, other information regarding an audio display can bedetermined.

A monitoring method according to the invention can also be used toexplicitly (i.e., by presenting questions to observers that they cananswer) acquire demographic information regarding the observers of thecontent being monitored. This could be implemented, for example, byincluding the instructions for asking such questions, the content of thequestions and the instructions for storing the obtained demographicinformation in a computer program used to implement the monitoringmethod. Or, such instructions and question content could be stored in aseparate file that is called and executed by the computer program thatimplements the monitoring method. Or, instructions for presenting thequestions and storing the answers could be included as part of thecomputer program for implementing the monitoring method, and the contentof the questions could be contained in a separate file that is accessedby the computer program. These latter two possibilities can beparticularly advantageous, since they allow multiple sets of demographicquestions to be presented to observers by the monitoring method, thusenabling the demographic questions to be tailored to the content beingdisplayed or to the characteristics of the observer likely to view thecontent.

As described above, in accordance with the invention, monitoringinformation regarding the display of content can be obtained, then laterreviewed and analyzed to enable conclusions to be drawn about how thecontent was displayed and, possibly, to enable deductions to be madeabout how the content was observed. In addition, monitoring informationcan be used to affect the display of a set of content. One way in whichthis can occur is for a set of content, or the manner in which the setof content is displayed, to be modified based upon review and analysisof monitoring information obtained from previous displays of the set ofcontent (e.g., monitoring information regarding whether or not thecontent was hidden, or the frequency of display of the content atdifferent times during the day or week, that may be used to determinethe best location on a display screen or the best times, respectively,to display the content).

Another way in which monitoring information can be used to affect thedisplay of a set of content is to use certain monitoring informationobtained just before or during the display to cause the set of contentto be displayed in a particular manner. For example, as discussed above,the IP address from which a request for a set of content emanated can beascertained when the request is first received. It may be possible toassociate characteristics of an observer or observers with an IP addressfrom which a request for content has been received (because, forexample, demographic information has previously been obtained asdescribed above when a set of content was previously transferred to thatIP address). Based upon the known characteristics associated with the IPaddress, an appropriate one of multiple versions of the requested set ofcontent can be transferred for display, e.g., if it is known that the IPaddress corresponds to a content display site that is used by observersthat speak a particular language, then text displayed aurally orvisually can be displayed in that language. As another example, theduration of time that a set of content has been displayed can bedetermined, as discussed above, and the portion of the set of contentthat is being displayed changed as a function of that duration, e.g.,the display of a set of content can begin with a particular videodisplay and change to another video display after passage of a specifiedduration of time. As still another example, the portion of a set ofcontent that is displayed can be varied based upon performancecharacteristics of the network over which the content is transferred.For example, the amount of time required to transfer data from thecontent provider site to the content display site can be monitored (by,for example, obtaining information from the log file regarding the sizeof transferred files and the amount of time required to transfer thosefiles, as discussed above). The display of the content can then becontrolled so that a moving video is displayed if the data transfer rateis above a predetermined magnitude and a still video is displayed if thedata transfer rate is below the predetermined magnitude, thepredetermined magnitude being chosen so that data rates below thatmagnitude are insufficiently fast to produce moving video of acceptablequality. The above examples are merely illustrative; other ways of usingmonitoring information to affect the display of a set of content arecontemplated by the invention.

As described above, a monitoring method according to the invention canobtain monitoring information regarding the display of content. Ofparticular interest is the basic question of whether the content wasdisplayed at all. As described above, a monitoring method according tothe invention can make this determination. Some observers, however, havedeveloped techniques for suppressing the display of particular content(e.g., advertisements). A monitoring method according to the inventioncan also increase the likelihood that particular content is displayed byconditioning certain other operation of the computer system thatdisplays the content on the display of that particular content. Forexample, the content to be monitored can be presented as part of othercontent. Such presentation is common on, for example, the World WideWeb, where, for example, advertising content is frequently included aspart of other content. A monitoring method according to the inventioncan condition the display of the other content on the display of theto-be-monitored content, e.g., the full content of a Web page cannot beviewed unless an advertisement included on the Web page is viewed.Moreover, the presentation of the other content can be conditioned onthe display of the to-be-monitored content for a specified period oftime. This can be particularly valuable when the to-be-monitored contentdoes not appear automatically as part of the other content, but, rather,is only displayed in response to selection of an appropriate userinterface mechanism (e.g., a graphical pushbutton) that is part of theother content.

In accordance with the above-described forced presentation of specifiedcontent, the detection of content suppression can be accomplished in anysuitable manner. For example, it may be possible to detect thesuppression technique being used. Or, the display of the content can beordered so that the content that must be displayed (“required content”)is displayed first; if the monitoring method detects that the contentdisplay site is displaying the other content without first havingdisplayed the required, then suppression of the required content hasbeen detected. Upon detection of suppression of the required content,display of the other content is prevented and, if desired, a messageindicating that fact can be displayed.

As indicated above, after monitoring information is obtained by amonitoring method according to the invention, the monitoring informationis transferred from the content display site 302 to a remote site. Theremote site can be the content provider site 301 or another site that ispart of the network. When a monitoring method according to the inventionis implemented by a Java applet, the remote site is the content providersite 301, since, currently, such applets can only communicateinformation to the network site from which they were transferred.However, in the future, such constraint may not exist; in that event,the remote site need not necessarily be the content provider site 301even when a Java applet is used to implement a monitoring methodaccording to the invention.

Generally, the monitoring information can be transferred to the remotesite at any time. It may be desirable, for example, to cause themonitoring information to be transferred to the remote site immediatelyafter the monitoring information is obtained, so that the monitoringinformation is accessible as quickly as possible. It may, alternatively,be desirable to store the monitoring information at the content displaysite, then transfer the monitoring information at a time whencommunication over the network communication line 303 is fastest and/orleast expensive, e.g., at night.

The monitoring information can be communicated to a communication portthat is different than the port from which the content and themonitoring instructions were transmitted to the content display site302. In that event, a special daemon that monitors such communicationport for receipt of monitoring information is installed on the servercomputer at the content provider site. The daemon can be implemented asa conventional server daemon for monitoring data received by a servercomputer on a designated communication port. Communication of themonitoring information to a specially designated port can be useful toenable the monitoring data to sent in any desired format in accordancewith any desired protocol. For example, the monitoring data can beencrypted, as described below.

When the invention is implemented with the World Wide Web, it is alsopossible to transmit the monitoring data over the network using thecommunication channel monitored by the http daemon, i.e., bytransmitting a request to the http daemon. Such transmission may bedesirable for several reasons. For example, transmission of monitoringdata to the http daemon eliminates the need to create, and supply tooperators of the remote site to which the monitoring data is to betransferred (e.g., a Web page operator or, as described below, anapplication manager site operator), special software for receiving themonitoring data. Additionally, transmission of monitoring data bytransmitting a request to the http daemon may be the only way totransfer the monitoring data to the remote site. This can be true, forexample, when one or more client computers are served by a “proxyserver” which mediates communication between the client computers andother sites on the network. The proxy server may not allow communicationover a channel specially designated for transmitting monitoring data,but allow communication to the http daemon.

Transmission of monitoring data by making a request to the http daemoncan be accomplished in a variety of ways. For example, an http requestcan be submitted for a file having a “name” that denotes the monitoringdata in some way. Notwithstanding the spurious nature of the filerequest, the request is recorded in the http log file, from which the“name” can be retrieved to enable extraction of the monitoring data. Or,a request for execution of a CGI script can be transmitted, with theparameter of the CGI script request that specifies input to the scriptbeing specified to denote the monitoring data in some way. A computerprogram resident on the computer system at the remote site can thenimplement a method that extracts the value of the input from the CGIscript, and the monitoring data can be extracted from the value of theinput. Other methods of using CGI scripts or http requests to transmitmonitoring data to an http daemon are possible.

For security, it may be desirable to encrypt the monitoring data beforeit is transferred from the content display site 302 to a remote site.Any suitable encryption method can be used. For example, a public keyencryption method, such as the well known RSA algorithm, can be used toencrypt the monitoring data. In general, the monitoring data (or otherdata transferred over a network in accordance with the invention) can beencrypted before any transmission of the data over a network (otherexamples of such data transmission are described below as part of thesystems illustrated in FIGS. 5A, 5B and SC, and FIGS. 6A, 6B, 6C and6D).

Once communicated to the remote site, the monitoring information can bestored in any appropriate database, as known to those skilled in the artof constructing and managing databases. The monitoring information canbe presented for observation through a suitable user interface, such asa graphical user interface (GUI), in any desired format, e.g., graphs,bar charts, pie charts. The monitoring information stored in thedatabase can also be subjected to further analysis if desired. Forexample, the total time that a content display is available to be viewedcan be broken down into percentages of time that the content display wasunobstructed, partially hidden and fully hidden. Or, the percentage ofobservers of a set of content that select a particular hyperlink whileobserving the content can be identified.

The monitoring information may be of interest not only to the contentprovider that provides the content for display, but to third parties aswell. For example, if the content provided by the content providerincludes an advertisement, the advertiser may be interested in themonitoring information regarding display of the content. The third partyand the content provider may have conflicting interests in the substanceof the monitoring information. For example, if the third party is payingthe content provider to include the third party's content with thecontent provider's content, and the payment is based upon the amount ofexposure of the third party's content to observers, the content providerhas an interest in the monitoring information showing a large amount ofexposure of the content, while the third party has an interest in themonitoring information showing a small amount of exposure. (Bothparties, of course, can be simultaneously motivated by other interests,as well: for example, the third party may simply want the monitoringinformation to reflect accurately the amount of exposure of the content,so that they can use that information in assessing the effects ofproviding their content through the content provider.) If the monitoringinformation is transferred from the content display site to the contentprovider site, and unrestricted access to the monitoring informationallowed at the content provider site, there may be no foolproof way toprevent the content provider from tampering with the substance of themonitoring information. This problem is particularly acute when amonitoring method according to the invention is embodied in a manner(e.g., by a Java applet), as discussed above, that necessitates that themonitoring information be transferred back to the content provider site.

FIGS. 5A, 5B and 5C are simplified diagrams of a network illustratingoperation of another embodiment of the invention. This embodiment of theinvention provides a system configuration that can overcome the problemof possible tampering with the substance of the monitoring informationby the content provider. As in the system illustrated in FIGS. 3A, 3Band 3C, a content display site 302 is linked over a network to a contentprovider site 301. The network also includes an application manager site501. The content display site 302 and content provider site 301 cancommunicate with each other via the network communication line 303, asdescribed above, to enable transfer of content and monitoringinstructions from the content provider site 301 to the content displaysite 302. Alternatively, the content and monitoring instructions can betransferred to the content display site 302 from the application managersite 501 in response to a request received from the content providersite 301 upon receipt of the request from the content display site 302.This latter implementation is illustrated in FIGS. 5A, 5B and 5C. Insuch an implementation, the content provider site 301 needn't haveeither a computer program for implementing the monitoring method or aprogram for receiving monitoring data installed at the content providersite 301, thus simplifying use of the invention for the contentprovider. Rather, the content provider need only have an open account(as discussed below) at the application manager site 501.

In this embodiment of the invention, the monitoring information obtainedat the content display site 302 is transferred to the applicationmanager site 501, either directly from the content display site 302 orindirectly via the content provider site 301. If the latter, then themonitoring information can be received by the content provider site 301and transferred to the application manager site 501 in a way thatprevents access to the monitoring information at the content providersite 301. For example, the monitoring information could be encrypted atthe content display site 302 before transfer to the content providersite 301, the decryption method being available only at the applicationmanager site 501. Or, the monitoring information could be immediatelytransferred to the application manager site 501 after being received atthe content provider site 301. Once received at the application managersite 501, access to the monitoring information can be administered bythe (neutral) application manager so that the monitoring information cannot be modified by any of the parties having an interest in theinformation, thus ensuring the integrity of the monitoring information.

In a typical implementation, multiple sets of content will be providedfrom multiple content provider sites, and each set of content will bedisplayed by multiple content display sites. A set of monitoringinformation will be recorded for each display of each of the multiplesets of content and transferred to the application manager site forstorage in a database that is implemented on a computer at theapplication manager site. Each set of monitoring information must beidentified as corresponding to the set of content for which themonitoring information was obtained, so that monitoring information canbe appropriately stored in a database to enable later retrieval of themonitoring information for that set of content. When a monitoring methodaccording to the invention is implemented for use with the World WideWeb, this can be accomplished by appropriate specification of aparameter included in a computer program written in html used toimplement a monitoring method, as discussed above. Example 3 belowillustrates how Example 1 discussed above can be modified to make suchspecification (the “Account” parameter).

Example 3

<applet code=″//AppMgr.com/Adinsert.class″ width=230 height=33> <paramname=″image″ value=″images/southwest.gif″> <param name=”href″value=“http://www.swa.com/″> <param name=″Account” value=″9004560093″></applet>The database residing on the computer at the application manager sitecan also be used, for example, to store account information about thecontent provider site from which the content display is provided.

In the embodiment of the invention illustrated in FIG. 5, a userinterface (e.g., GUI) can be provided on the content provider sitecomputer to enable the owner (or representative) of the content providersite to access monitoring information stored at the application managersite regarding content displays provided by the content provider site.Such an interface can also be configured to enable the content providerto create a new account on the application manager computer, authorizepayments for use of the monitoring system of the invention, and requestparticular analysis or presentation of obtained monitoring information.Other functions can also be provided in such an interface, as desirable.

It is also possible that there be multiple application manager sites.Typically, monitoring information for each content display will bedesignated for storage on a particular one of the application managersites. Such designation can be included as a parameter specification ina computer program used to implement the monitoring information asdiscussed above.

As discussed above, the content provided by a content provider can betailored according to any specified criteria. Further, the contentprovider may periodically update the content. Additionally, thirdparties may want to provide their content with that of a contentprovider. These third parties may also have multiple sets of speciallytailored content that are updated periodically. The management of suchmultiple sets of content by a content provider at the content providersite can become undesirably complex and may overtax the availablebandwidth for transmission of data to and from the content providersite.

FIGS. 6A, 6B, 6C and 6D are simplified diagrams of a networkillustrating operation of still another embodiment of the invention.This embodiment of the invention provides a system configuration thatcan enable updated and/or tailored secondary content provided by asecondary content provider to be transferred to a primary contentdisplay site for use with primary content supplied by a primary contentprovider without the problems identified above with existing suchsystems, as discussed in more detail below. This embodiment of theinvention also can enable all of the functionality described above forthe system illustrated in FIGS. 5A, 5B and 5C. In the embodiment of theinvention shown in FIGS. 6A, 6B, 6C and 6D, a content display site 302,a primary content provider site 602 and an application manager site 501are linked to each other over a network and can communicate with eachother as described above. The network also includes a secondary contentprovider site 601. As shown in FIG. 6A, in this embodiment of theinvention, secondary content can be provided from the secondary contentprovider site 601 to the application manager site 501 and storedthereat. As shown in FIG. 6B, whenever secondary content is provided tothe application manager site 501, the application manager causes thecontent to both be stored at the application manager site 501 andtransferred to all content provider sites, e.g., content provider site602, that provide that secondary content with their primary content.When a request for the primary content that includes such secondarycontent is received by the primary content provider site 602 from thecontent display site 302 (FIG. 6C), the primary content provider site602 is able to immediately (i.e., without necessity to retrieve thecontent from another network site or request that the content beprovided to the content display site from another network site) provideboth the primary and secondary content to the content display site 302,as shown in FIG. 6D.

As can be appreciated, the management of both primary and secondarycontent can become quite burdensome when many sets, and/or many versionsof sets, of secondary content and/or primary content are being providedfrom the primary content provider site. Management of continual updatesto these sets of content data exacerbates this burden. By storingsecondary content (and, if desired, primary content) at the applicationmanager site 501, the system of FIGS. 6A, 6B, 6C and 6D relieves theprimary content provider of the burden of managing such content.However, because the application manager causes the content to be storedat the content provider site 602, the content can be provided to thecontent display site 302 from the content provider site 602, rather thanthe application manager site 501, thus leaving control of bandwidthmanagement with the primary content provider so that the primary contentprovider can ensure that a system that adequately addresses thebandwidth requirements of the content provided from the primary contentprovider site 602 is in place. This is an important consideration forthe primary content provider since requesters of content from theprimary content provider will hold the primary content providerresponsible for the performance characteristics (e.g., speed) associatedwith the provision of that content. The system of FIGS. 6A, 6B, 6C and6D, then, relieves the primary content provider of the need to managethe storage of content, while reserving control over the provision ofthat content to the content provider.

In this embodiment of the invention a user interface (e.g., GUI) can beprovided at both the primary content provider site 602 and theapplication manager site 501. The primary content provider userinterface can provide the same functionality as described above withrespect to FIG. 5. Additionally, the primary content provider userinterface can enable the content provider to select available secondarycontent for possible inclusion with that content provider's primarycontent. Such selection can also include specification of terms uponwhich the primary content provider wishes to include the secondarycontent. Selection of secondary content does not automatically cause thesecondary content to be included with the primary content provider'scontent, but, rather, causes a request for such inclusion to be made(e.g., via the secondary content provider user interface, describedbelow) to the secondary content provider. Upon acceptance by thesecondary content provider, the secondary content can be included withthe primary content. The secondary content provider user interface canenable the secondary content provider to select a primary contentprovider site with which to include the secondary content provider'scontent. Again, such selection can be made together with specificationof the terms of such inclusion; the selection causes a request forinclusion to be made (e.g., via the primary content provider userinterface) to the primary content provider. The secondary content userinterface can also provide functionality similar to that described abovewith respect to FIG. 5. As will be readily appreciated by those skilledin the art, other functions can also be provided in the primary contentprovider and secondary content provider user interfaces, as desirable.The embodiment of the invention shown in FIG. 6 facilitates interactionbetween the primary content provider site 602 and the secondary contentprovider site 601 to enable a secondary content provider to easily andflexibly provide content to a primary content provider in a manner thatenables both the primary and secondary content providers to exercisecontrol over the provision of content.

As described above, monitoring instructions and content can be embodiedby an applet that executes at the content display site. In the system ofFIGS. 5A, 5B and 5C or the system of FIGS. 6A, 6B, 6C and 6D, the use ofsuch an applet can advantageously dovetail with an implementation ofthose systems in which the applet is transferred to the content displaysite from the application manager site. This is because an applet mustreturn the monitoring information to the network site from which theapplet was transferred: thus, the monitoring information is transferreddirectly to the neutral application manager site. Too, when themonitoring instructions and content are transferred from the applicationmanager site to the content display site, the use of monitoringinformation to tailor the content provided to the content display site,as discussed above, can also be easily implemented.

Various embodiments of the invention have been described. Thedescriptions are intended to be illustrative, not limitative. Thus, itwill be apparent to one skilled in the art that certain modificationsmay be made to the invention as described above without departing fromthe scope of the claims set out below. For example, though the inventionhas been described above as it particularly applies to monitoring thedisplay of content disseminated over the World Wide Web, the inventioncan generally be used to monitor the display of content disseminatedover any computer network. Additionally, though an implementation of theinvention has been described in which aspects of the Java programminglanguage are used, it is to be understood that invention is not limitedto such implementation; other programming languages could be used havingother features and characteristics (e.g., the language need not be anobject-oriented language as is Java).

1-66. (canceled)
 67. A method, implemented using a computing system, fordetermining whether content within a web page is in view, the methodcomprising: receiving at least one element with the content; renderingthe web page; monitoring a behavioral characteristic relating to the atleast one element; and determining, from the monitored behavioralcharacteristic, whether the content is in view or not in view, whereinthe behavioral characteristic varies according to whether the at leastone element is in view or not in view.
 68. The method according to claim67, wherein monitoring the behavioral characteristic is carried out byinstructions operating in the web page.
 69. The method according toclaim 67, wherein monitoring the behavioral characteristic comprises;monitoring behavior of a redraw of the at least one element.
 70. Themethod according to claim 69, further comprising: invalidating the atleast one element to cause the redraw.
 71. The method according to claim67, wherein monitoring the behavioral characteristic comprises:monitoring operating system characteristics that indicate whether the atleast one element is hidden.
 72. The method according to claim 67,wherein monitoring the behavioral characteristic comprises: monitoringbehavior of a request to redraw the at least one element.
 73. The methodaccording to claim 72, wherein the request comprises: an operatingsystem request.
 74. The method according to claim 67, wherein monitoringthe behavioral characteristic occurs at a client device, and the methodfurther comprises: transmitting information relating to the monitoredbehavioral characteristic from the client device to a server.
 75. Themethod according to claim 67, wherein the at least one element is anelement of the content.
 76. The method according to claim 67, whereinthe at least one element is a pixel.
 77. The method according to claim67, wherein the at least one element is a corner of the content.
 78. Themethod according to claim 67, wherein the at least one element is anapplet.
 79. The method according to claim 67, wherein the at least oneelement comprises a plurality of elements, and wherein determiningwhether the content is in view or not in view comprises: determining aproportion of the plurality of elements that is in view.
 80. The methodaccording to claim 67, wherein the at least one element comprises aplurality of elements, and wherein determining whether the content is inview or not in view comprises: determining whether any part of theplurality of elements is in view.
 81. The method according to claim 67,wherein the at least one element comprises a plurality of elements, andwherein determining whether the content is in view or not in viewcomprises: determining whether all of the plurality of elements are inview.
 82. The method according to claim 67, wherein the at least oneelement is located at an edge of the content.
 83. The method accordingto claim 67, wherein the at least one element is not observable by ahuman user.
 84. The method according to claim 67, wherein anadvertisement is provided in the content.
 85. The method according toclaim 84, where the at least one element is part of or the whole of theadvertisement.
 86. The method according to claim 67, further comprising:determining, from the monitored behavioral characteristic, a duration oftime during which the content is in view.
 87. A server arranged totransmit monitoring instructions to a client device over a network,wherein the monitoring instructions, when executed by the client device,perform operations for determining whether content within a web page isin view, the operations comprising: receiving at least one element withthe content; rendering the web page; monitoring a behavioralcharacteristic relating to the at least one element; and determining,from the monitored behavioral characteristic, whether the content is inview or not in view, wherein the behavioral characteristic variesaccording to whether the at least one element is in view or not in view.88. A method, implemented using a computing system, for determiningwhether content within a web page is in view, the method comprising:providing at least one element with the content; rendering the web page;monitoring a behavioral characteristic relating to the at least oneelement; and determining from the monitored behavioral characteristicwhether the content is in view or not in view, wherein the behavioralcharacteristic comprises a redrawing of the at least one element. 89.The method according to claim 88, wherein monitoring the behavioralcharacteristic comprises: monitoring events indicative of the at leastone element being in view.
 90. The method according to claim 88, whereinmonitoring the behavioral characteristic comprises: monitoring eventsissued when an on-screen pointer enters an area defined by the content.91. The method according to claim 88, wherein monitoring the behavioralcharacteristic comprises: monitoring behavior of an applet as it relatesto the at least one element.
 92. The method according to claim 88,wherein monitoring the behavioral characteristic comprises: monitoringbehavior of a request to redraw the at least one element; and whereinthe request comprises: an operating system request.